package com.lw.state;

/**
 * @author LW
 * @2020/8/17 14:11
 */

/**测试stop
 *1.建议线程正常停止-->利用次数，不建议 死循环
 * 2.建议使用标志位-->设置一个标志位
 * 3.不要使用stop或destory等过时或jdk不建议使用的方法
 */
public class TestStop implements Runnable {

    //1.设置一个标志位
    boolean flag = true;

    public static void main(String[] args) {
        TestStop testStop = new TestStop();
        new Thread(testStop).start();

        for (int i = 0; i < 1000; i++) {
            System.out.println("main"+i);
         if (i==900){
             //调用stop方法切换标志位，让线程停止
             testStop.stop();//stop为自己写的标志位 flag=false
             System.out.println("----线程该停止了----");
         }
        }
    }

    public void run() {
        int i = 0;
        while (flag){
            System.out.println("run....+Thread"+i++);
        }
    }

    public void stop(){
        this.flag=false;
    }

}
